import * as types from './mutation-types'
 
// 根据不同的事件类型（types）做出的修改动作，对状态的修改都在这里
const mutations = {
  // 新增笔记
  [types.ADD_NOTE](state) {
    const newNote = {
      text: '新的笔记',
      favorite: false
    }
    state.notes.push(newNote) // 将新增笔记添加到notes数组对象中
    state.activeNote = newNote // 指定当前的笔记为新增笔记
  },
  // 编辑笔记
  [types.EDIT_NOTE](state, text) {
    state.activeNote.text = text
  },
  // 删除笔记
  [types.DELETE_NOTE](state) {
    state.notes.splice(state.activeNote, 1);// 删除当前的笔记
    // 删除后默认笔记列表的第一条为当前的笔记
    if(state.notes.length > 0) {
      state.activeNote = state.notes[0];
    }
  },
  [types.TOGGLE_FAVORITE](state) {
    state.activeNote.favorite = !state.activeNote.favorite
  },
  [types.SET_ACTIVE_NOTE](state, note) {
    state.activeNote = note;
  }
}

export default mutations